Challenge
You’ve learnt how to made a volcano plot of your RNA-seq results in this course and you can now create static plots that you can include in your paper. However, you’d like to also be able to interactively explore the plot to see what genes the points represent.
The aim of this challenge is to generate an interactive volcano plot of the luminal RNA-seq results using the cool plotly package. The code we already wrote to generate the static plot is below, you can modify that to create the interactive plot.
Steps
- To make the interactive plot you will need to load both the tidyverse and the plotly packages.
- After you load the packages, run the code below to first make the static volcano plot.
# read in the data
de_results <- read_tsv("/training/r-intro-tidyverse/data/limma-voom_luminalpregnant-luminallactate.tsv.gz")
# add column to colour significant genes
de_results <- mutate(de_results, signif=ifelse((adj.P.Val < 0.05 & logFC > 1), "Up", ifelse((adj.P.Val < 0.05 & logFC < -1), "Down", "Not signif")))
# create volcano plot
ggplot(data=de_results, mapping=aes(x=logFC, y=-log10(P.Value), colour=signif)) +
geom_point() +
scale_colour_manual(values=c("Up"="red", "Not signif"="grey", "Down"="blue"))
- Then take a look at the help for the
ggplotly function, especially the tooltip argument (and Google), to see how to modify the ggplot code above and create the interactive volcanoplot.
- Email the instructor your code.
LS0tCnRpdGxlOiAiSW50cm9kdWN0aW9uIHRvIFI6IFdlZWsgNCBQcmFjdGljZSIKYXV0aG9yOiAiTWFyaWEgRG95bGUiCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCICVZJylgIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIHRvY19kZXB0aDogMgpzdWJ0aXRsZTogSW50ZXJhY3RpdmUgdm9sY2FubyBwbG90IGNoYWxsZW5nZQotLS0KCiMjIyMgQ2hhbGxlbmdlCgpZb3UndmUgbGVhcm50IGhvdyB0byBtYWRlIGEgdm9sY2FubyBwbG90IG9mIHlvdXIgUk5BLXNlcSByZXN1bHRzIGluIHRoaXMgY291cnNlIGFuZCB5b3UgY2FuIG5vdyBjcmVhdGUgc3RhdGljIHBsb3RzIHRoYXQgeW91IGNhbiBpbmNsdWRlIGluIHlvdXIgcGFwZXIuIEhvd2V2ZXIsIHlvdSdkIGxpa2UgdG8gYWxzbyBiZSBhYmxlIHRvIGludGVyYWN0aXZlbHkgZXhwbG9yZSB0aGUgcGxvdCB0byBzZWUgd2hhdCBnZW5lcyB0aGUgcG9pbnRzIHJlcHJlc2VudC4KClRoZSBhaW0gb2YgdGhpcyBjaGFsbGVuZ2UgaXMgdG8gZ2VuZXJhdGUgYW4gKippbnRlcmFjdGl2ZSoqIHZvbGNhbm8gcGxvdCBvZiB0aGUgbHVtaW5hbCBSTkEtc2VxIHJlc3VsdHMgdXNpbmcgdGhlIGNvb2wgKipwbG90bHkqKiBwYWNrYWdlLiBUaGUgY29kZSB3ZSBhbHJlYWR5IHdyb3RlIHRvIGdlbmVyYXRlIHRoZSBzdGF0aWMgcGxvdCBpcyBiZWxvdywgeW91IGNhbiBtb2RpZnkgdGhhdCB0byBjcmVhdGUgdGhlIGludGVyYWN0aXZlIHBsb3QuCgoKYGBge3IgZWNobyA9IEZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShwbG90bHkpCmRlX3Jlc3VsdHMgPC0gcmVhZF90c3YoIi90cmFpbmluZy9yLWludHJvLXRpZHl2ZXJzZS9kYXRhL2xpbW1hLXZvb21fbHVtaW5hbHByZWduYW50LWx1bWluYWxsYWN0YXRlLnRzdi5neiIpCmRlX3Jlc3VsdHMgPC0gbXV0YXRlKGRlX3Jlc3VsdHMsIHNpZ25pZj1pZmVsc2UoKGFkai5QLlZhbCA8IDAuMDUgJiBsb2dGQyA+IDEpLCAiVXAiLCBpZmVsc2UoKGFkai5QLlZhbCA8IDAuMDUgJiBsb2dGQyA8IC0xKSwgIkRvd24iLCAiTm90IHNpZ25pZiIpKSkKcCA8LSBnZ3Bsb3QoZGF0YT1kZV9yZXN1bHRzLCBtYXBwaW5nPWFlcyh4PWxvZ0ZDLCB5PS1sb2cxMChQLlZhbHVlKSwgY29sb3VyPXNpZ25pZiwgR2VuZT1TWU1CT0wpKSArCiAgZ2VvbV9wb2ludCgpICsKICBzY2FsZV9jb2xvdXJfbWFudWFsKHZhbHVlcz1jKCJVcCI9InJlZCIsICJOb3Qgc2lnbmlmIj0iZ3JleSIsICJEb3duIj0iYmx1ZSIpKQpnZ3Bsb3RseShwLCB0b29sdGlwPSJHZW5lIikKYGBgCgoKIyMjIFN0ZXBzCgoqIFRvIG1ha2UgdGhlIGludGVyYWN0aXZlIHBsb3QgeW91IHdpbGwgbmVlZCB0byBsb2FkIGJvdGggdGhlIHRpZHl2ZXJzZSBhbmQgdGhlIHBsb3RseSBwYWNrYWdlcy4KKiBBZnRlciB5b3UgbG9hZCB0aGUgcGFja2FnZXMsIHJ1biB0aGUgY29kZSBiZWxvdyB0byBmaXJzdCBtYWtlIHRoZSBzdGF0aWMgdm9sY2FubyBwbG90LgpgYGB7ciBldmFsPUZBTFNFfQojIHJlYWQgaW4gdGhlIGRhdGEKZGVfcmVzdWx0cyA8LSByZWFkX3RzdigiL3RyYWluaW5nL3ItaW50cm8tdGlkeXZlcnNlL2RhdGEvbGltbWEtdm9vbV9sdW1pbmFscHJlZ25hbnQtbHVtaW5hbGxhY3RhdGUudHN2Lmd6IikKCiMgYWRkIGNvbHVtbiB0byBjb2xvdXIgc2lnbmlmaWNhbnQgZ2VuZXMKZGVfcmVzdWx0cyA8LSBtdXRhdGUoZGVfcmVzdWx0cywgc2lnbmlmPWlmZWxzZSgoYWRqLlAuVmFsIDwgMC4wNSAmIGxvZ0ZDID4gMSksICJVcCIsIGlmZWxzZSgoYWRqLlAuVmFsIDwgMC4wNSAmIGxvZ0ZDIDwgLTEpLCAiRG93biIsICJOb3Qgc2lnbmlmIikpKQoKIyBjcmVhdGUgdm9sY2FubyBwbG90CmdncGxvdChkYXRhPWRlX3Jlc3VsdHMsIG1hcHBpbmc9YWVzKHg9bG9nRkMsIHk9LWxvZzEwKFAuVmFsdWUpLCBjb2xvdXI9c2lnbmlmKSkgKwogIGdlb21fcG9pbnQoKSArCiAgc2NhbGVfY29sb3VyX21hbnVhbCh2YWx1ZXM9YygiVXAiPSJyZWQiLCAiTm90IHNpZ25pZiI9ImdyZXkiLCAiRG93biI9ImJsdWUiKSkKYGBgCiogVGhlbiB0YWtlIGEgbG9vayBhdCB0aGUgaGVscCBmb3IgdGhlIGBnZ3Bsb3RseWAgZnVuY3Rpb24sIGVzcGVjaWFsbHkgdGhlIGB0b29sdGlwYCBhcmd1bWVudCAoYW5kIEdvb2dsZSksIHRvIHNlZSBob3cgdG8gbW9kaWZ5IHRoZSBnZ3Bsb3QgY29kZSBhYm92ZSBhbmQgY3JlYXRlIHRoZSBpbnRlcmFjdGl2ZSB2b2xjYW5vcGxvdC4KKiBFbWFpbCB0aGUgaW5zdHJ1Y3RvciB5b3VyIGNvZGUuCg==